package ca.ubc.icapture.genapha.forms;

import ca.ubc.icapture.genapha.beans.AssociationResultBean;
import ca.ubc.icapture.genapha.beans.PopulationDiversityBean;
import icapture.beans.DB.Cohort;
import icapture.beans.DB.SNPStatus;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;

import icapture.beans.DB.SNP;
import icapture.beans.PageLink;
import java.util.HashMap;

/**
 * Created by IntelliJ IDEA.
 * User: btripp
 * Date: Sep 13, 2006
 * Time: 9:39:33 AM
 * To change this template use File | Settings | File Templates.
 */
public class SnpSummaryForm extends ActionForm {

    private String rsNumber;

    private SNP snp;
    private String snpAlias;
    private ArrayList<SNP> geneSnpList;
    private String geneAlias;
    private Boolean prevAssociations;

    private ArrayList<Cohort> cohortList;
    private ArrayList<SNPStatus> snpStatusList;

    private HashMap<String,ArrayList<AssociationResultBean>> snpPValueMap;

    private ArrayList<PopulationDiversityBean> populationDiversityList;
    private ArrayList<PopulationDiversityBean> caseControlDiversityList;

    private ArrayList<PageLink> geneLinks;
    private ArrayList<PageLink> snpLinks;
    private ArrayList<PageLink> pathwayLinks;

    @Override
    public void reset(ActionMapping mapping, HttpServletRequest request) {
        setRsNumber(null);
    }

    /**
     * @return the rsNumber
     */
    public String getRsNumber() {
        return rsNumber;
    }

    /**
     * @param rsNumber the rsNumber to set
     */
    public void setRsNumber(String rsNumber) {
        this.rsNumber = rsNumber;
    }

    /**
     * @return the snp
     */
    public SNP getSnp() {
        return snp;
    }

    /**
     * @param snp the snp to set
     */
    public void setSnp(SNP snp) {
        this.snp = snp;
    }

    /**
     * @return the snpAlias
     */
    public String getSnpAlias() {
        return snpAlias;
    }

    /**
     * @param snpAlias the snpAlias to set
     */
    public void setSnpAlias(String snpAlias) {
        this.snpAlias = snpAlias;
    }

    /**
     * @return the geneSnpList
     */
    public ArrayList<SNP> getGeneSnpList() {
        return geneSnpList;
    }

    /**
     * @param geneSnpList the geneSnpList to set
     */
    public void setGeneSnpList(ArrayList<SNP> geneSnpList) {
        this.geneSnpList = geneSnpList;
    }

    /**
     * @return the geneAlias
     */
    public String getGeneAlias() {
        return geneAlias;
    }

    /**
     * @param geneAlias the geneAlias to set
     */
    public void setGeneAlias(String geneAlias) {
        this.geneAlias = geneAlias;
    }

    /**
     * @return the prevAssociations
     */
    public Boolean getPrevAssociations() {
        return prevAssociations;
    }

    /**
     * @param prevAssociations the prevAssociations to set
     */
    public void setPrevAssociations(Boolean prevAssociations) {
        this.prevAssociations = prevAssociations;
    }

    /**
     * @return the cohortList
     */
    public ArrayList<Cohort> getCohortList() {
        return cohortList;
    }

    /**
     * @param cohortList the cohortList to set
     */
    public void setCohortList(ArrayList<Cohort> cohortList) {
        this.cohortList = cohortList;
    }

    /**
     * @return the snpStatusList
     */
    public ArrayList<SNPStatus> getSnpStatusList() {
        return snpStatusList;
    }

    /**
     * @param snpStatusList the snpStatusList to set
     */
    public void setSnpStatusList(ArrayList<SNPStatus> snpStatusList) {
        this.snpStatusList = snpStatusList;
    }

    /**
     * @return the snpPValueMap
     */
    public HashMap<String, ArrayList<AssociationResultBean>> getSnpPValueMap() {
        return snpPValueMap;
    }

    /**
     * @param snpPValueMap the snpPValueMap to set
     */
    public void setSnpPValueMap(HashMap<String, ArrayList<AssociationResultBean>> snpPValueMap) {
        this.snpPValueMap = snpPValueMap;
    }

    /**
     * @return the populationDiversityList
     */
    public ArrayList<PopulationDiversityBean> getPopulationDiversityList() {
        return populationDiversityList;
    }

    /**
     * @param populationDiversityList the populationDiversityList to set
     */
    public void setPopulationDiversityList(ArrayList<PopulationDiversityBean> populationDiversityList) {
        this.populationDiversityList = populationDiversityList;
    }

    /**
     * @return the caseControlDiversityList
     */
    public ArrayList<PopulationDiversityBean> getCaseControlDiversityList() {
        return caseControlDiversityList;
    }

    /**
     * @param caseControlDiversityList the caseControlDiversityList to set
     */
    public void setCaseControlDiversityList(ArrayList<PopulationDiversityBean> caseControlDiversityList) {
        this.caseControlDiversityList = caseControlDiversityList;
    }

    /**
     * @return the geneLinks
     */
    public ArrayList<PageLink> getGeneLinks() {
        return geneLinks;
    }

    /**
     * @param geneLinks the geneLinks to set
     */
    public void setGeneLinks(ArrayList<PageLink> geneLinks) {
        this.geneLinks = geneLinks;
    }

    /**
     * @return the snpLinks
     */
    public ArrayList<PageLink> getSnpLinks() {
        return snpLinks;
    }

    /**
     * @param snpLinks the snpLinks to set
     */
    public void setSnpLinks(ArrayList<PageLink> snpLinks) {
        this.snpLinks = snpLinks;
    }

    /**
     * @return the pathwayLinks
     */
    public ArrayList<PageLink> getPathwayLinks() {
        return pathwayLinks;
    }

    /**
     * @param pathwayLinks the pathwayLinks to set
     */
    public void setPathwayLinks(ArrayList<PageLink> pathwayLinks) {
        this.pathwayLinks = pathwayLinks;
    }
}